In several communications systems the data to be transmitted is compressed so that the available bandwidth is used more efficiently. For example, the Moving Pictures Experts Group (MPEG) has promulgated several standards relating to digital data delivery systems. The first, known as MPEG-1 refers to ISO/IEC standards 11172 and is incorporated herein by reference. The second, known as MPEG-2, refers to ISO/IEC standards 13818 and is incorporated herein by reference. A compressed digital video system is described in the Advanced Television Systems Committee (ATSC) digital television standard document A/53, and is incorporated herein by reference.
Information distribution systems utilizing information streams conforming to the above standards or subsets of the above standards are known. For example, an interactive digital video on demand (VOD) service known as the OnSet™ system is manufactured by DIVA Systems Corporation of Menlo Park, Calif. The OnSet™ system distributes audio-visual information to individual subscribers utilizing MPEG-like information streams. The OnSet™ system also allows subscribers to interactively control the delivery of audio-visual information using consumer-friendly commands, such as fast-forward (FF), rewind (REW), pause (PAUSE), play (PLAY) and the like.
The above-referenced standards, and other similar standards, provide for the delivery of proprietary data in addition to audio, video and other data to receiving and decoding devices, such as set top terminal (STTs). The proprietary data may be formatted into, e.g., an MPEG-2 standard private section format or the similar DigiCipher®II (DCII) format, which is used in STTs manufactured by General Instrument Corporation of Horsham, Pa. Using DCII terminology, proprietary data may be organized as one or more tables (i.e., logical groupings of data), where each table comprises one or more messages or segments. The messages or segments are then transport encoded in a known manner to produce a transport stream that is coupled to one or more STTs.
A STT decodes the transport stream in a known manner to extract the messages or segments. During the decoding process an error check, such as a circular redundancy check (CRC), is performed for each message or segment. If the message or segment is error-free, then it is passed to a controller for further processing (e.g., table re-assembly) by an application running within the STT. If the message or segment is not error-free, then an error handler is invoked. The typical error handler discards a message or segment having errors without notifying the application expecting to receive the message or segment.
Therefore, it is seen to be desirable to provide a method and apparatus that is able to compensate for the tendency of some STTs to discard or miss data segments without application notification. Specifically, it is seen to be desirable to provide a method and apparatus for tracking the delivery and re-assembly of received messages or segments into complete tables or sections, such that applications may readily ascertain whether necessary data structures have been received by, e.g., a STT or other information receiver.